package com.taijihuabao.modules.service;

import com.github.pagehelper.PageInfo;
import com.taijihuabao.modules.entity.RoleEntity;
import com.taijihuabao.modules.model.basedto.IdDTO;
import com.taijihuabao.modules.model.role.dto.RoleCrFromDTO;
import com.taijihuabao.modules.model.role.dto.RoleListFromDTO;
import com.taijihuabao.modules.model.role.dto.RoleUpFromDTO;
import com.taijihuabao.modules.model.role.vo.RoleInfoVO;

import java.util.List;

/**
 * 角色管理
 *
 * @author changhui.tu
 */
public interface RoleService {

    /**
     * 获取角色列表(带分页)
     *
     * @param listDTO
     * @return
     */
    PageInfo<RoleEntity> selectAllRole(RoleListFromDTO listDTO);

    /**
     * 获取所有角色
     *
     * @return
     */
    List<RoleEntity> selectRoles();

    /**
     * 信息
     *
     * @param dto
     * @return
     */
    RoleInfoVO selectRoleById(IdDTO dto);

    /**
     * 新增角色
     *
     * @param crFromDTO
     */
    void insertRole(RoleCrFromDTO crFromDTO);

    /**
     * 修改角色
     *
     * @param upFromDTO
     */
    void updateRole(RoleUpFromDTO upFromDTO);

    /**
     * 逻辑删除角色
     *
     * @param dto
     */
    void deleteRole(IdDTO dto);

}
